//
// Created by LIN on 25-9-9.
//

#ifndef SINGLE_LINKED_LIST_H
#define SINGLE_LINKED_LIST_H
#include <stdbool.h>
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>

typedef int TypeData;
struct ListNode
{
    TypeData val;
    struct ListNode *next;
};

typedef struct ListNode ListNode;
void print_list(const ListNode *list);
void push_back(ListNode **head, TypeData x);
void push_front(ListNode **head, TypeData x);
void pop_back(ListNode **head);
void pop_front(ListNode **head);
bool find(const ListNode *head, TypeData x);
void erase(ListNode **head, TypeData x);

#endif /* SINGLE_LINKED_LIST_H */
